## API Report File for "@backstage/config"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
import { Config as Config_2 } from '@backstage/config';
import { HumanDuration } from '@backstage/types';
import type { JsonArray as JsonArray_2 } from '@backstage/types';
import { JsonObject as JsonObject_2 } from '@backstage/types';
import type { JsonPrimitive as JsonPrimitive_2 } from '@backstage/types';
import { JsonValue as JsonValue_2 } from '@backstage/types';

// @public
export type AppConfig = {
  context: string;
  data: JsonObject_2;
  filteredKeys?: string[];
  deprecatedKeys?: {
    key: string;
    description: string;
  }[];
};

// @public
export type Config = {
  subscribe?(onChange: () => void): {
    unsubscribe: () => void;
  };
  has(key: string): boolean;
  keys(): string[];
  get<T = JsonValue_2>(key?: string): T;
  getOptional<T = JsonValue_2>(key?: string): T | undefined;
  getConfig(key: string): Config;
  getOptionalConfig(key: string): Config | undefined;
  getConfigArray(key: string): Config[];
  getOptionalConfigArray(key: string): Config[] | undefined;
  getNumber(key: string): number;
  getOptionalNumber(key: string): number | undefined;
  getBoolean(key: string): boolean;
  getOptionalBoolean(key: string): boolean | undefined;
  getString(key: string): string;
  getOptionalString(key: string): string | undefined;
  getStringArray(key: string): string[];
  getOptionalStringArray(key: string): string[] | undefined;
};

// @public
export class ConfigReader implements Config {
  constructor(
    data: JsonObject_2 | undefined,
    context?: string,
    fallback?: ConfigReader | undefined,
    prefix?: string,
  );
  static fromConfigs(configs: AppConfig[]): ConfigReader;
  get<T = JsonValue_2>(key?: string): T;
  getBoolean(key: string): boolean;
  getConfig(key: string): ConfigReader;
  getConfigArray(key: string): ConfigReader[];
  getNumber(key: string): number;
  getOptional<T = JsonValue_2>(key?: string): T | undefined;
  getOptionalBoolean(key: string): boolean | undefined;
  getOptionalConfig(key: string): ConfigReader | undefined;
  getOptionalConfigArray(key: string): ConfigReader[] | undefined;
  getOptionalNumber(key: string): number | undefined;
  getOptionalString(key: string): string | undefined;
  getOptionalStringArray(key: string): string[] | undefined;
  getString(key: string): string;
  getStringArray(key: string): string[];
  has(key: string): boolean;
  keys(): string[];
}

// @public @deprecated
export type JsonArray = JsonArray_2;

// @public @deprecated
export type JsonObject = JsonObject_2;

// @public @deprecated
export type JsonPrimitive = JsonPrimitive_2;

// @public @deprecated
export type JsonValue = JsonValue_2;

// @public
export function readDurationFromConfig(
  config: Config_2,
  options?: {
    key?: string;
  },
): HumanDuration;
```
